home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / UsingPDF / GhostScript / source / gs5.10 / watcw32.mak < prev    next >
Encoding:
Makefile  |  1997-08-05  |  11.8 KB  |  411 lines

  1. #    Copyright (C) 1991-1997 Aladdin Enterprises.  All rights reserved.
  2. # This file is part of Aladdin Ghostscript.
  3. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4. # or distributor accepts any responsibility for the consequences of using it,
  5. # or for whether it serves any particular purpose or works at all, unless he
  6. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  7. # License (the "License") for full details.
  8. # Every copy of Aladdin Ghostscript must include a copy of the License,
  9. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  10. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  11. # under certain conditions described in the License.  Among other things, the
  12. # License requires that the copyright notice and this notice be preserved on
  13. # all copies.
  14.  
  15. # watcw32.mak
  16. # makefile for Watcom C++ v??, Windows NT or Windows 95 platform.
  17. #   Does NOT build gs16spl.exe, which is 16-bit and is used under Win32s.
  18. #   Someone with access to the Watcom 16-bit documentation will need to 
  19. #   do this.
  20. # Created 1997-02-23 by Russell Lang from MSVC++ 4.0 makefile.
  21. #**************** THIS MAKEFILE DOES NOT WORK. ****************
  22. #**************** DO NOT ATTEMPT TO USE IT. ****************
  23.  
  24. # ------------------------------- Options ------------------------------- #
  25.  
  26. ###### This section is the only part of the file you should need to edit.
  27.  
  28. # ------ Generic options ------ #
  29.  
  30. # Define the directory that will hold documentation at runtime.
  31.  
  32. GS_DOCDIR=c:/gs
  33.  
  34. # Define the default directory/ies for the runtime
  35. # initialization and font files.  Separate multiple directories with \;.
  36. # Use / to indicate directories, not a single \.
  37.  
  38. GS_LIB_DEFAULT=.;c:/gs\;c:/gs/fonts
  39.  
  40. # Define whether or not searching for initialization files should always
  41. # look in the current directory first.  This leads to well-known security
  42. # and confusion problems, but users insist on it.
  43. # NOTE: this also affects searching for files named on the command line:
  44. # see the "File searching" section of use.txt for full details.
  45. # Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
  46.  
  47. SEARCH_HERE_FIRST=1
  48.  
  49. # Define the name of the interpreter initialization file.
  50. # (There is no reason to change this.)
  51.  
  52. GS_INIT=gs_init.ps
  53.  
  54. # Choose generic configuration options.
  55.  
  56. # Setting DEBUG=1 includes debugging features (-Z switch) in the code.
  57. # Code runs substantially slower even if no debugging switches are set,
  58. # and also takes about another 25K of memory.
  59.  
  60. DEBUG=0
  61.  
  62. # Setting TDEBUG=1 includes symbol table information for the debugger,
  63. # and also enables stack checking.  Code is substantially slower and larger.
  64.  
  65. TDEBUG=0
  66.  
  67. # Setting NOPRIVATE=1 makes private (static) procedures and variables public,
  68. # so they are visible to the debugger and profiler.
  69. # No execution time or space penalty, just larger .OBJ and .EXE files.
  70.  
  71. NOPRIVATE=0
  72.  
  73. # Define the name of the executable file.
  74.  
  75. GS=gswin32
  76. GSCONSOLE=gswin32c
  77. GSDLL=gsdll32
  78.  
  79. # To build two small executables and a large DLL use MAKEDLL=1
  80. # To build two large executables use MAKEDLL=0
  81.  
  82. MAKEDLL=1
  83.  
  84. # Define the directory where the IJG JPEG library sources are stored,
  85. # and the major version of the library that is stored there.
  86. # You may need to change this if the IJG library version changes.
  87. # See jpeg.mak for more information.
  88.  
  89. JSRCDIR=jpeg-6a
  90. JVERSION=6
  91.  
  92. # Define the directory where the PNG library sources are stored,
  93. # and the version of the library that is stored there.
  94. # You may need to change this if the libpng version changes.
  95. # See libpng.mak for more information.
  96.  
  97. PSRCDIR=libpng
  98. PVERSION=96
  99.  
  100. # Define the directory where the zlib sources are stored.
  101. # See zlib.mak for more information.
  102.  
  103. ZSRCDIR=zlib
  104.  
  105. # Define the configuration ID.  Read gs.mak carefully before changing this.
  106.  
  107. CONFIG=
  108.  
  109. # Define any other compilation flags.
  110.  
  111. CFLAGS=
  112.  
  113. # ------ Platform-specific options ------ #
  114.  
  115. # Define the drive, directory, and compiler name for the Watcom C files.
  116. # COMPDIR contains the compiler and linker.
  117. # INCDIR contains the include files.
  118. # LIBDIR contains the library files.
  119. # COMP is the full C compiler path name.
  120. # COMPCPP is the full C++ compiler path name.
  121. # COMPAUX is the compiler name for DOS utilities.
  122. # RCOMP is the resource compiler name.
  123. # LINK is the full linker path name.
  124. # WBIND is used for binding resources to an EXE or DLL
  125. # Note that INCDIR and LIBDIR are always followed by a \,
  126. #   so if you want to use the current directory, use an explicit '.'.
  127.  
  128. COMPBASE=d:\watcom
  129. COMPDIR=$(COMPBASE)\binb
  130. INCDIR=$(COMPBASE)\h;$(COMPBASE)\h\nt
  131. LIBDIR=$(COMPBASE)\lib386;$(COMPBASE)\lib386\nt
  132. COMP=$(COMPDIR)\wcc386
  133. COMPCPP=$(COMPDIR)\wpp386
  134. COMPAUX=$(COMPDIR)\wcc386
  135. RCOMP=$(COMPDIR)\wrc
  136. LINK=$(COMPDIR)\wlink
  137. WBIND=$(COMPDIR)\wbind
  138.  
  139. # Define the processor architecture. (always i386)
  140. CPU_FAMILY=i386
  141.  
  142. # Define the processor (CPU) type.  (386, 486 or 586)
  143. CPU_TYPE=486
  144.  
  145. # Define the math coprocessor (FPU) type.
  146. # Options are -1 (optimize for no FPU), 0 (optimize for FPU present,
  147. # but do not require a FPU), 87, 287, or 387.
  148. # If you have a 486 or Pentium CPU, you should normally set FPU_TYPE to 387,
  149. # since most of these CPUs include the equivalent of an 80387 on-chip;
  150. # however, the 486SX and the Cyrix 486SLC do not have an on-chip FPU, so if
  151. # you have one of these CPUs and no external FPU, set FPU_TYPE to -1 or 0.
  152. # An xx87 option means that the executable will run only if a FPU
  153. # of that type (or higher) is available: this is NOT currently checked
  154. # at runtime.
  155.  
  156. FPU_TYPE=0
  157.  
  158. # ------ Devices and features ------ #
  159.  
  160. # Choose the language feature(s) to include.  See gs.mak for details.
  161.  
  162. FEATURE_DEVS=level2.dev pdf.dev ttfont.dev
  163.  
  164. # Choose whether to compile the .ps initialization files into the executable.
  165. # See gs.mak for details.
  166.  
  167. COMPILE_INITS=0
  168.  
  169. # Choose whether to store band lists on files or in memory.
  170. # The choices are 'file' or 'memory'.
  171.  
  172. BAND_LIST_STORAGE=file
  173.  
  174. # Choose which compression method to use when storing band lists in memory.
  175. # The choices are 'lzw' or 'zlib'.  lzw is not recommended, because the
  176. # LZW-compatible code in Ghostscript doesn't actually compress its input.
  177.  
  178. BAND_LIST_COMPRESSOR=zlib
  179.  
  180. # Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
  181. # See gs.mak and sfxfd.c for more details.
  182.  
  183. FILE_IMPLEMENTATION=stdio
  184.  
  185. # Choose the device(s) to include.  See devs.mak for details.
  186.  
  187. DEVICE_DEVS=mswindll.dev mswinprn.dev mswinpr2.dev
  188. DEVICE_DEVS2=epson.dev eps9high.dev eps9mid.dev epsonc.dev ibmpro.dev
  189. DEVICE_DEVS3=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ljet4.dev
  190. DEVICE_DEVS4=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev pj.dev pjxl.dev pjxl300.dev
  191. DEVICE_DEVS5=djet500c.dev declj250.dev lj250.dev jetp3852.dev r4081.dev lbp8.dev uniprint.dev
  192. DEVICE_DEVS6=st800.dev stcolor.dev bj10e.dev bj200.dev m8510.dev necp6.dev bjc600.dev bjc800.dev
  193. DEVICE_DEVS7=t4693d2.dev t4693d4.dev t4693d8.dev tek4696.dev
  194. DEVICE_DEVS8=pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev pcx24b.dev pcxcmyk.dev
  195. DEVICE_DEVS9=pbm.dev pbmraw.dev pgm.dev pgmraw.dev pgnm.dev pgnmraw.dev pnm.dev pnmraw.dev ppm.dev ppmraw.dev
  196. DEVICE_DEVS10=tiffcrle.dev tiffg3.dev tiffg32d.dev tiffg4.dev tifflzw.dev tiffpack.dev
  197. DEVICE_DEVS11=bmpmono.dev bmp16.dev bmp256.dev bmp16m.dev tiff12nc.dev tiff24nc.dev
  198. DEVICE_DEVS12=psmono.dev bit.dev bitrgb.dev bitcmyk.dev
  199. DEVICE_DEVS13=pngmono.dev pnggray.dev png16.dev png256.dev png16m.dev
  200. DEVICE_DEVS14=jpeg.dev jpeggray.dev
  201. DEVICE_DEVS15=pdfwrite.dev pswrite.dev epswrite.dev pxlmono.dev pxlcolor.dev
  202.  
  203. # ---------------------------- End of options ---------------------------- #
  204.  
  205. # Define the name of the makefile -- used in dependencies.
  206.  
  207. MAKEFILE=watcw32.mak winlib.mak winint.mak
  208.  
  209. # Define the current directory prefix and shell invocations.
  210.  
  211. D=\\
  212.  
  213. EXPP=
  214. SH=
  215. # The following is needed to work around a problem in wmake
  216. SHP=command /c
  217.  
  218. # Define the arguments for genconf.
  219.  
  220. CONFILES=-p %%s, -o $(ld_tr) -l lib.tr
  221.  
  222. # Define the generic compilation flags.
  223.  
  224. PLATOPT=
  225.  
  226. INTASM=
  227. PCFBASM=
  228.  
  229. # Make sure we get the right default target for make.
  230.  
  231. dosdefault: default
  232.  
  233. # Define the compilation flags.
  234.  
  235. !ifeq CPU_TYPE 586
  236. CPFLAGS=-5s
  237. !else
  238. !ifeq CPU_TYPE 486
  239. CPFLAGS=-4s
  240. !else
  241. !ifeq CPU_TYPE 386
  242. CPFLAGS=-3s
  243. !else
  244. CPFLAGS=
  245. !endif
  246. !endif
  247. !endif
  248.  
  249. !ifeq FPU_TYPE 586
  250. FPFLAGS=-fp5
  251. !else
  252. !ifeq FPU_TYPE 486
  253. FPFLAGS=-fp4
  254. !else
  255. !ifeq FPU_TYPE 386
  256. FPFLAGS=-fp3
  257. !else
  258. FPFLAGS=
  259. !endif
  260. !endif
  261. !endif
  262.  
  263.  
  264. !ifneq NOPRIVATE 0
  265. CP=/DNOPRIVATE
  266. !else
  267. CP=
  268. !endif
  269.  
  270. !ifneq DEBUG 0
  271. CD=/DDEBUG
  272. !else
  273. CD=
  274. !endif
  275.  
  276. !ifneq TDEBUG 0
  277. # What options should WATCOM use for $(CT) when debugging?
  278. CT=-d2
  279. LCT=DEBUG ALL
  280. COMPILE_FULL_OPTIMIZED=    # no optimization when debugging
  281. COMPILE_WITH_FRAMES=    # no optimization when debugging
  282. COMPILE_WITHOUT_FRAMES=    # no optimization when debugging
  283. !else
  284. CT=-d1
  285. LCT=DEBUG LINES
  286. COMPILE_FULL_OPTIMIZED=-Oilmre -s
  287. COMPILE_WITH_FRAMES=-Of+
  288. COMPILE_WITHOUT_FRAMES=-s
  289. !endif
  290.  
  291. !ifneq DEBUG 0
  292. CS=
  293. !else
  294. CS=-s
  295. !endif
  296.  
  297.  
  298. # Specify output object name
  299. CCOBJNAME=-Fo
  300.  
  301. # Specify function prolog type
  302. COMPILE_FOR_DLL=/LD
  303. COMPILE_FOR_EXE=
  304. COMPILE_FOR_CONSOLE_EXE=
  305.  
  306. GENOPT=$(CP) $(CD) $(CT) $(CS) -zq
  307.  
  308. CCFLAGS=$(PLATOPT) $(FPFLAGS) $(CPFLAGS) $(CFLAGS) $(XCFLAGS)
  309. CC=$(COMP) -c $(CCFLAGS) @ccf32.tr
  310. CPP=$(COMPCPP) -c $(CCFLAGS) @ccf32.tr
  311. !ifneq MAKEDLL 0
  312. WX=$(COMPILE_FOR_DLL)
  313. !else
  314. WX=$(COMPILE_FOR_EXE)
  315. !endif
  316. CCC=$(CC) $(WX) $(COMPILE_FULL_OPTIMIZED)
  317. CCD=$(CC) $(WX) $(COMPILE_WITH_FRAMES)
  318. CCINT=$(CC)
  319. CCCF=$(CCC)
  320. CCLEAF=$(CCC) $(COMPILE_WITHOUT_FRAMES)
  321.  
  322. # Compiler for auxiliary programs
  323.  
  324. CCAUX=$(COMPAUX) -I$(INCDIR) -O
  325.  
  326. # Define the generic compilation rules.
  327.  
  328. .c.obj:
  329.     $(CCC) $<
  330.  
  331. .cpp.obj:
  332.     $(CPP) $<
  333.  
  334. # Define the files to be removed by `make clean'.
  335. # nmake expands macros when encountered, not when used,
  336. # so this must precede the !include statements.
  337.  
  338. BEGINFILES2=gsdll32.rex gswin32.rex gswin32c.rex
  339.  
  340. # Include the generic makefiles.
  341.  
  342. !include winlib.mak
  343. !include winint.mak
  344.  
  345. # -------------------------- Auxiliary programs --------------------------- #
  346.  
  347. ccf32.tr: $(MAKEFILE) makefile
  348.     echo $(GENOPT) -I$(INCDIR) -DCHECK_INTERRUPTS -D_Windows -D__WIN32__ -D_WATCOM_ > ccf32.tr
  349.  
  350. $(GENARCH_XE): genarch.c $(stdpre_h) $(iref_h) ccf32.tr
  351.     $(CCAUX_SETUP)
  352.     $(CCAUX) @ccf32.tr genarch.c $(CCAUX_TAIL)
  353.  
  354. # -------------------------------- Library -------------------------------- #
  355.  
  356. # See winlib.mak
  357.  
  358. # ----------------------------- Main program ------------------------------ #
  359.  
  360. #LIBCTR=libc32.tr
  361. LIBCTR=
  362.  
  363. #rjl
  364. #$(LIBCTR): $(MAKEFILE) $(ECHOGS_XE)
  365. #        echogs -w $(LIBCTR) $(LIBDIR)\shell32.lib
  366. #        echogs -a $(LIBCTR) $(LIBDIR)\comdlg32.lib
  367.  
  368. DWOBJLINK=dwdll.obj, dwimg.obj, dwmain.obj, dwtext.obj, gscdefs.obj
  369. DWOBJNOLINK= dwnodll.obj, dwimg.obj, dwmain.obj, dwtext.obj
  370. OBJCLINK=dwmainc.obj, dwdllc.obj, gscdefs.obj
  371. OBJCNOLINK=dwmainc.obj, dwnodllc.obj
  372.  
  373. !ifneq MAKEDLL 0
  374. # The graphical small EXE loader
  375. $(GS_XE): $(GSDLL).dll $(GSDLL).lib  $(DWOBJ) $(GSCONSOLE).exe $(GS).res 
  376.     $(LINK) system nt_win $(LCT) Name $(GS_XE) File $(DWOBJLINK) Library $(GSDLL).lib
  377.     $(WBIND) $(GS_XE) -R $(GS).res
  378.  
  379. # The console mode small EXE loader
  380. $(GSCONSOLE).exe: $(OBJC) $(GS).res dw32c.def
  381.     $(LINK) system nt option map $(LCT) Name $(GSCONSOLE).exe File $(OBJCLINK) Library $(GSDLL).lib
  382.     $(WBIND) $(GSCONSOLE).exe -R $(GS).res
  383.  
  384. # The big DLL
  385. $(GSDLL).dll: $(GS_ALL) $(DEVS_ALL) gsdll.$(OBJ) $(GSDLL).res 
  386.     $(LINK) system nt_dll initinstance terminstance @gsdll32.wex $(LCT) Name $(GSDLL).dll File gsdll.obj, @$(ld_tr) 
  387.     $(WBIND) $(GSDLL).dll -R $(GSDLL).res
  388.  
  389. $(GSDLL).lib: $(GSDLL).dll
  390.     erase $(GSDLL).lib
  391.     wlib $(GSDLL) +$(GSDLL).dll
  392.  
  393. !else
  394. # The big graphical EXE
  395. $(GS_XE): $(GSCONSOLE).exe $(GS_ALL) $(DEVS_ALL) gsdll.$(OBJ) $(DWOBJNO) $(GS).res dwmain32.def
  396.     $(LINK) option map $(LCT) Name $(GS) File gsdll, $(DWOBJNOLINK), @$(ld_tr) 
  397.     $(WBIND) $(GS_XE) -R $(GSDLL).res
  398.  
  399. # The big console mode EXE
  400. $(GSCONSOLE).exe:  $(GS_ALL) $(DEVS_ALL) gsdll.$(OBJ) $(OBJCNO) $(GS).res dw32c.def
  401.     $(COMPDIR)\$(LINK) option map $(LCT) Name $(GSCONSOLE).exe File gsdll, $(OBJCNOLINK), @$(ld_tr) 
  402.     $(WBIND) $(GSCONSOLE).exe -R $(GSDLL).res
  403. !endif
  404.  
  405. # end of makefile
  406.  
  407.  
  408.